Include inferiors when moving window parts
authorAlexander Larsson <alexl@redhat.com>
Wed, 14 Jan 2009 21:24:41 +0000 (22:24 +0100)
committerAlexander Larsson <alex@localhost.localdomain>
Thu, 2 Apr 2009 08:15:18 +0000 (10:15 +0200)
gdk/gdkwindow.c

index 524b3d71e3dc6b17e525f224598742431a4c60ae..3b4bfc07a846928b07d8d4b45cc772e162bcb2ba 100644 (file)
@@ -2352,7 +2352,10 @@ do_move_region_bits_on_impl (GdkWindowObject *private,
   
   gdk_region_get_clipbox (region, &copy_rect);
   gdk_region_offset (region, -dest_off_x, -dest_off_y);
-  tmp_gc = _gdk_drawable_get_scratch_gc ((GdkWindow *)private, TRUE);
+  /* We need to get data from subwindows here, because we might have
+     moved or shaped a native window over the moving region (with bg none,
+     so the pixels are still there). */
+  tmp_gc = _gdk_drawable_get_subwindow_scratch_gc ((GdkWindow *)private);
   gdk_gc_set_clip_region (tmp_gc, region);
   gdk_draw_drawable (dest,
                     tmp_gc,